#include<cstdio>
const int MAXINT=2100000000;
int a[251], f[63001];
int min(int x,int y)
{
	return x<y?x:y;
}
int main()
{
	int n;	
	for(int i=1;i<=5000;i++)f[i]=MAXINT;
	for(int i=1;i<=250;i++)
		f[a[i]=i*i]=1;
	f[0]=0;
	for(int i=1;i<=5000;i++)
	{
		for(int j=1;j<=250;j++)
			if(a[j]<=i)f[i]=min(f[i],f[i-a[j]]+1);
			else break;
	}
	for(int i=1;i<=100;i++)
	printf("f[%d]=%d\n",i,f[i]);
	return 0;
}
